package com.joeone.utils;


import com.alibaba.fastjson.JSONObject;
import java.math.BigDecimal;
import java.math.RoundingMode;

/**
* @author 郑伟杰
* 描述：小数优化
* 创建时间 2024/3/21 15:15
*/
public class DecimalUtil {
	/**
	* 功能：判断数据是否正常返回
	 * 默认返回9999999.999999 处理成 空白
	 * 默认返回8888888.999999 处理成 空白
	*/
	public static BigDecimal dafaultDecimal(JSONObject data,String code) {
		if(null==data){
			return null;
		}
		return data.getBigDecimal(code);
	}
	/**
	* 功能：相减有null，返回null
	*/
	public static BigDecimal subtractDecimal(BigDecimal dataOne,BigDecimal dataTwo) {
		if(null==dataOne||null==dataTwo){
			return null;
		}
		return dataOne.subtract(dataTwo);
	}
	/**
	 * 功能：相除有null，返回null, 如果除数为0返回null
	 * 否则返回4位小数，四舍五入
	 */
	public static BigDecimal divideDecimal(BigDecimal dataOne,BigDecimal dataTwo) {
		if(null==dataOne||null==dataTwo){
			return null;
		}
		if(BigDecimal.ZERO.compareTo(dataTwo)==0){
			return null;
		}
		return dataOne.divide(dataTwo, 4, RoundingMode.UP);
	}
	/**
	* 功能：相加有null，返回null
	*/
	public static BigDecimal addDecimal(BigDecimal dataOne,BigDecimal dataTwo) {
		if(null==dataOne||null==dataTwo){
			return null;
		}
		return dataOne.add(dataTwo);
	}
	public static void main(String[] args) {
//		JSONObject jsonObject = new JSONObject();
//		jsonObject.put("ke",99999);
		JSONObject jsonObject = null;
		System.out.println(dafaultDecimal(jsonObject,"a"));
	}
}
